perm filename INTDEF.SAI[OLD,HE] blob sn#501005 filedate 1980-04-02 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	COMMENT: Declares the interpreter operations.  This is parallel to
C00008 ENDMK
C⊗;
COMMENT: Declares the interpreter operations.  This is parallel to
the file INTOPS.PAL[AL,HE], where the operations are described in
greater detail;

IFCR ¬DECLARATION(π)
THENC 	ENTRY;
	BEGIN "intdef"
	REQUIRE "⊂⊃⊂⊃" DELIMITERS;
	REQUIRE "ABBREV.SAI[AL,HE]" SOURCE_FILE;
	DEFINE ETERNAL=⊂INTERNAL⊃;
	DEFINE ALONE = TRUE;
	DEFINE ALONEEND=⊂END "intdef"⊃;

ELSEC	REQUIRE "⊂⊃⊂⊃" DELIMITERS;
	REQUIRE "INTDEF.REL[AL,HE]" LOAD_MODULE;
	DEFINE ALONEEND=⊂  ⊃;
	DEFINE ALONE = FALSE;
	DEFINE ETERNAL=⊂EXTERNAL⊃;

ENDC

!  Pseudo-ops;

IFC ALONE
THENC DEFINE  PSDOP(MNE,XXX,YYY) "<>" = <
	REDEFINE NOOPS=NOOPS+1;
	ASSIGNC XXX = CVPS(MNE)&"_PSOP";
	ASSIGNC YYY = """"&"X"&CVPS(MNE)&"""";
	YYY,
	DEFINE XXX = NOOPS>;

    PRELOAD_WITH

ELSEC DEFINE  PSDOP(MNE,XXX,YYY) "<>" = <
	REDEFINE NOOPS=NOOPS+1;
	ASSIGNC XXX = CVPS(MNE)&"_PSOP";
	DEFINE XXX = NOOPS>;

ENDC

DEFINE NOOPS = 0;
PSDOP(MOVE);		! Motion control;
PSDOP(CENTER);
PSDOP(OPERATE);
PSDOP(STOP); 
PSDOP(UPDEPR); 
PSDOP(TFRCST); 		! For force sensing/applying;
PSDOP(VMKFRC);
PSDOP(COMPLY);
PSDOP(CMPOFF); ! not used yet;
PSDOP(NOTICE); ! not used yet;
PSDOP(SETBASE); ! temp hack;
PSDOP(WRIST); ! temp hack;
PSDOP(STIFF);
PSDOP(GATHR);

PSDOP(MVAR);		! Variables and expressions;
PSDOP(KVAR);

PSDOP(GTVAL);		! Stack control;
PSDOP(CHNGE);
PSDOP(PUSH);
PSDOP(POP);
PSDOP(COPY);
PSDOP(REPLACE);

PSDOP(JUMP);		! Flow of control;
PSDOP(JUMPC);
PSDOP(TERMINATE);
PSDOP(ENDCLC);
PSDOP(PROC);
PSDOP(RETURN);
PSDOP(SPROUT);
PSDOP(FORCHK);
PSDOP(FOREND);
PSDOP(CASE);
PSDOP(SIGNAL);
PSDOP(WAITE);
PSDOP(PAUSE);
PSDOP(ABORT);
PSDOP(DDT);
PSDOP(AFFIX);		! Affixment;
PSDOP(UNFIX);

PSDOP(SLE);	! Boolean;
PSDOP(SLT);
PSDOP(SGE);
PSDOP(SGT);
PSDOP(SEQ);
PSDOP(SNE);
PSDOP(AND);
PSDOP(LOR);
PSDOP(NOT);
PSDOP(LXOR);
PSDOP(EQV);

PSDOP(WHERE);	! undet; ! Arithmetic;
PSDOP(SABS);	! scalar;! Arithmetic;
PSDOP(SNEG);
PSDOP(SADD);
PSDOP(SSUB);
PSDOP(SMUL);
PSDOP(SDIV);
PSDOP(SEXP);
PSDOP(MAX);
PSDOP(MIN);
PSDOP(INT);
PSDOP(IDIV);
PSDOP(MOD);
PSDOP(VMAGN);
PSDOP(VDOT);
PSDOP(PVDOT); 		! not in compiler yet;
PSDOP(SSBRTN);
PSDOP(TMAGN);
PSDOP(TAXIS);
PSDOP(VMAKE);	! vector;
PSDOP(SVMUL);
PSDOP(VSDIV);
PSDOP(VADD);
PSDOP(VSUB);
PSDOP(VCROSS);
PSDOP(UNITV);
PSDOP(TVMUL);
PSDOP(TPOS);
PSDOP(TORIEN);
PSDOP(VSAXWR); 	! rotn;
PSDOP(TMAKE);	! trans;
PSDOP(CONSTR);
PSDOP(TVADD);
PSDOP(TVSUB);
PSDOP(TTMUL);
PSDOP(TINVRT);

PSDOP(CMENBL); 		! Condition monitors;
PSDOP(CMDSBL);
PSDOP(CMSKED);
PSDOP(CMTRIG);
PSDOP(CMUNCR);  ! not used yet;
PSDOP(CMDONE);  
PSDOP(CMSENSE);		! Hardware sensing;	! Not ready yet;
PSDOP(CMWAIT);		! Special Wait for event cmon;
PSDOP(CMDUR);		! Duration control;
PSDOP(CMFORCE);		! Force control;

			! Initialization;
PSDOP(PROG);
PSDOP(ENDP);

PSDOP(PRINT); 		! Debugging aids;
PSDOP(PRNTS);
PSDOP(VALPRN);		
PSDOP(VARPRN);		
PSDOP(PROMPT);		
PSDOP(SCALRD);		
PSDOP(QUERY);		
PSDOP(BRACE);
PSDOP(NOOP);
PSDOP(TOPAL);

IFC ALONE
THENC "INVALID";
ENDC

ETERNAL STRING ARRAY PSOP [1:NOOPS+1];
ALONEEND;